Field of the Invention
The present invention relates to generating and authenticating passwords that include encoded information such as an expiry date or time period.
Description of the Related Art
Passwords are often used to selectively permit access to a resource, machine, vehicle, building, or the like. In many situations, it is desirable to provide such access for a limited period of time. For example, a device may be installed in a vehicle to selectively disable the vehicle if the owner or lessee fails to make payments; in such a device, a password may be provided that expires after a period of time, requiring the owner or lessee to obtain a new password each time he or she makes a payment on the vehicle. As an another example, a time-limited password may be provided to allow an individual to use a software application for a trial period, after which a payment may be required. As another example, a password may grant access to a restricted area of a building for a limited period of time, after which the password expires and can no longer be used to obtain access. In all of these situations, it is desired to provide a password that expires after some predetermined period of time or upon occurrence of some event.
In order for such a time-limited password scheme to function properly, it is useful to communicate the password expiry date to the authentication mechanism, so that the authentication mechanism can determine whether an entered password is still valid. For example, the expiry date for each password can be stored in a database that the authentication mechanism accesses when a password is entered. The authentication mechanism can look up the appropriate record in the database, based on the entered password, or a user identifier or other database lookup key. Then, in addition to verifying the authenticity of the password, the authentication mechanism can determine whether or not the password has expired, and grant or deny access to the resource accordingly.
Such a scheme presumes that the authentication mechanism has some means for accessing a database or other dynamic information repository in which expiry dates can be stored. In many cases, such access is undesirable, impractical, or impossible. The authentication mechanism may be implemented in a device that has no reliable network access, such as a vehicle, or a lock on a remote building. Alternatively, there may be a need for high reliability and/or speed that would be compromised if the system were required to rely on a network connection or other means for database access.
What is needed is a scheme for implementing passwords having expiry dates, without requiring that the authentication mechanism have access to a database or other source of expiry dates. What is further needed is a scheme for encoding the expiry date of a password within the password itself, without compromising the security or effectiveness of the password. What is further needed is a scheme for encoding an expiry date (or similar information) in a manner that does not unduly lengthen the password so as to make it difficult for a user to remember or enter.
What is further needed is a scheme for encoding identifiers or other information-carrying data items in passwords, without unduly lengthening the passwords and without unduly increasing the burden on a user. What is further needed is a scheme for encoding such information in a password reliably. What is further needed is a scheme that provides some assurance of accuracy and authenticity in the encoded information, and that reduces the possibility of tampering.